package com.ms.infrastructure.persistence.jpa.support;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.persistence.EntityManagerFactory;

/**
 * User: aglwkrs
 * Date: 01/12/11
 */
public class DatabaseDriver {
    Database database;
    private static final Logger LOG = LoggerFactory.getLogger(DatabaseDriver.class);

    public DatabaseDriver(EntityManagerFactory entityManagerFactory) {
        database = new Database(entityManagerFactory);
    }

//    public InventarioBuilder INVENTARIO_1 =
//            new InventarioBuilder()
//                    .confechaInventario("01/05/2012")
//                    .confechaLimite("03/05/2012")
//                    .confechaCarga(null)
//                    .conenvioNotificacion("N")
//                    .confechaNotificacion(null)
//                    .conusuarioCarga(null);
//
//    public RolBuilder ROL_ADMIN =
//            new RolBuilder().conCode("01").conNombre("Administrador");
//    public RolBuilder ROL_QUIMICO =
//            new RolBuilder().conCode("06").conNombre("Quimico");
//
//
//    public void crearDataPrueba() throws Exception {
//        //////////////////////////////////////////////////////////////////////////////////////
//        // Inventario
//        Inventario inventario1 = INVENTARIO_1.build();
//        persistAll(inventario1);
//
//        Rol rolAdmin=ROL_ADMIN.build();
//        Rol rolQuimico=ROL_QUIMICO.build();
//
//        persistAll(rolAdmin,rolQuimico);
//
//
//         Opcion opcion1=new Opcion();
//         opcion1.setNombre("cargaInventario");
//         opcion1.setDescripcion("Carga Inventario");
//         opcion1.setUrl("cargaInventario.jsf");
//         opcion1.setOrden(1);
//         opcion1.setRol(rolAdmin);
//
//         Opcion opcion2=new Opcion();
//         opcion2.setNombre("registroInventario");
//         opcion2.setDescripcion("Registro Inventario");
//         opcion2.setUrl("registroInventario.jsf");
//         opcion2.setOrden(2);
//         opcion2.setRol(rolAdmin);
//
//         Opcion opcion3=new Opcion();
//         opcion3.setNombre("verInventario");
//         opcion3.setUrl("verInventario.jsf");
//         opcion3.setMostarMenu(0);
//         opcion3.setRol(rolAdmin);
//
//         Opcion opcion4=new Opcion();
//         opcion4.setNombre("modificarInventario");
//         opcion4.setUrl("modificarInventario.jsf");
//         opcion4.setMostarMenu(0);
//         opcion4.setRol(rolAdmin);
//
//         Opcion opcion5=new Opcion();
//         opcion5.setNombre("invProductoReport");
//         opcion5.setDescripcion("Reporte Producto");
//         opcion5.setUrl("invProductoReport.jsf");
//         opcion5.setOrden(3);
//         opcion5.setRol(rolAdmin);
//
//        persistAll(opcion1,opcion2,opcion3,opcion4,opcion5);
//
//    }
//
//
//    public void persist(Object entity) throws Exception {
//        database.persist(entity);
//    }
//
//    public void persistAll(Object... entities) throws Exception {
//        for (int i = 0; i < entities.length; i++) {
//            Object entity = entities[i];
//            database.persist(entity);
//        }
//    }
//
//    public void remove(Object entity) throws Exception {
//        database.remove(entity);
//    }
//
//    public void merge(Object entity) throws Exception {
//        database.merge(entity);
//    }
//
//    public void mergeAll(Object... entities) throws Exception {
//        for (int i = 0; i < entities.length; i++) {
//            Object entity = entities[i];
//            database.merge(entity);
//        }
//    }
//
//    public void tearDown() throws Exception {
//        database.cleanUp();
//    }
}
